Overview
This guide will cover the options available when working with JSON Schema Transformations (JST) in the Gen 1 and Gen 2 canvas of Itential Automation Platform (IAP) for the 2021.1 release.
The steps involved in selecting JST options for the Gen 1 canvas will be discussed first, followed by the options that are available in the Gen 2 canvas.
Create Workflow
From the IAP home page:
Select Automation Studio from the left navbar. The application screen displays.
Select + Create a Workflow from the Quick Start card. The Create dialog opens.
Figure 1: Automation Studio

Select Workflow from the dropdown list and enter a name (required) for the workflow.
Select the appropriate IAP canvas (Gen 1 or Gen 2) and then click Create. The workflow canvas displays.
Figure 2: Create Workflow

GEN 1 Workflow
To add a JST in the Gen 1 Workflow canvas:
In the Search bar (top-right corner), type JST to locate the
transformationtask.Click the plus (+) sign to the left of the task. This will add a new JST task labeled
JSON Transformationto the Gen 1 canvas.Figure 3: Add JST Task (Gen 1)

Connect the JST task to the
StartandEndtasks. You can also hover over the JST task to display the tooltip.Figure 4: Connect JST Task (Gen 1)

Double-click the JSON Transformation task. The edit modal displays.
Figure 5: Edit JST Task (Gen 1)

Select the appropriate options (see table below) you would like to use prior to running your transformation.
Option (Gen 1) Description Mask Outgoing SchemaThis option is available on all tasks. It encrypts outgoing vars and displays them as asterisks in Job Manager. Validate IncomingValidates your input. Checks if the input is the correct type and compatible with the enum set of constants in that incoming schema. Revert To Default ValueEnables use of a default keyword. - Default values from the incoming schemas will be used whenever a key/incoming data value is not provided.
- If an outgoing schema has a default value, an incoming schema is assigned to it.
- If the incoming schema does not have a default defined, then the default for the outgoing schema will be used.
- If an outgoing schema has a default value defined, and nothing is assigned to it, then the default values will be in the transformation output.
Click Save and you will return to the Gen 1 Workflow canvas.
Click the Start button (top-left) to run the transformation.
Figure 6: Run JST (Gen 1)

GEN 2 Workflow
To add a JST in the Gen 2 Workflow canvas:
Select Gen 2 in the dialog and click Create. A relatively blank Gen 2 canvas then displays that contains a
StartandEndtask.Figure 7: Create Workflow (Gen 2)

When a Gen 2 workflow is first created, a
New Nodebox is already provided. This is an empty node and needs to be populated with an actual task item.Click the
New Nodebox on the Gen 2 canvas.Go to the Task Menu Sidebar on the right side of the screen. This area contains a list of nodes and tasks that can be used in the Gen 2 workflow.
In the Search bar at the top, type JST to locate the
transformationtask.Click the
transformationtask and observe that the "New Node" on the canvas has been replaced with thetransformationtask. Also notice that the Task Menu Sidebar is now replaced with details and configuration options for thetransformationtask.Click Save to retain changes to the Gen 2 Workflow.
Figure 8: Save Workflow (Gen 2)

Click the
transformationnode to select options.On the Details tab, you can select the Mask Outgoing Variables option. See the table below.
Figure 9: Details Tab (Gen 2)

Click the Options Tab to select Validate Incoming or revertToDefaultValue, as required. Details for all JST options in Gen 2 workflows are referenced in the table below.
Figure 10: Options Tab (Gen 2)

Option (Gen 2) Description Mask Outgoing VariableThis option is available on all tasks. It encrypts outgoing vars and displays them as asterisks in Job Manager. Validate IncomingValidates your input. Checks input is the correct type and compatible with enums/const set in that incoming schema. revertToDefaultValueEnables use of default keyword. - Default values from the incoming schemas will be used whenever a key/incoming data value is not provided.
- If an outgoing schema has a default value, an incoming schema is assigned to it.
- If the incoming schema does not have a default defined, then the outgoing schema's default will be used.
- If an outgoing schema has a default value defined, and nothing is assigned to it, then the default values will be in the transformation's output.
Click the Save icon (floppy disk) to retain your JST options.
Click the Start button to run the workflow.
Figure 11: Icons to Save and Run (Gen 2)
